MIME-Version: 1.0
Server: CERN/3.0
Date: Sunday, 24-Nov-96 22:37:02 GMT
Content-Type: text/html
Content-Length: 9968
Last-Modified: Friday, 13-Sep-96 15:48:57 GMT

<HTML>
<HEAD>
<TITLE>Cornell CS Course Home Pages Fall 1996 </TITLE>
</HEAD>
<BODY>
<center>
<h1>Course Home Pages - Fall 1996</h1>
</center>
<p>
<hr>
<p>
These are links to the home pages for a number of CS courses for Fall 1996.
In many cases there are class notes, problem sets, and other course
information available, although they may be available only to registered
members of the course.
<p>
Course Home Pages for some courses taught during previous semesters 
can be found using the links at the bottom of this page.

<DL>

<DT><H2><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS100A/home.html">
        CS100A Introduction to Computer Programming</A></H2>
<DD>
An introduction to elementary computer programming concepts. Emphasis
is on techniques of problem analysis and the development of algorithms
and programs. The subject of the course is programming, not a
particular programming language. The principal programming language is
C. The course does not presume previous programming experience.
Programming assignments are tested and run on interactive, stand-alone
microcomputers.
<p>
Standard version of COM S 100.  No college-level mathematics is assumed.

<DT><H2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS100B/home.html">
        CS100B Introduction to Computer Programming</A></H2>
<DD>
An introduction to elementary computer programming concepts. Emphasis
is on techniques of problem analysis and the development of algorithms
and programs. The subject of the course is programming, not a
particular programming language. The principal programming language is
C. The course does not presume previous programming experience.
Programming assignments are tested and run on interactive, stand-alone
microcomputers.
<p>
Alternative version of COM S 100, emphasizing examples and
applications involving continuous mathematics, including trigonometry
and calculus.

<DT><H2><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS211/home.html">
        CS211 Computers and Programming</A></H2>
<DD>
Intermediate programming in a high-level language and introduction to
computer science.  Topics include program development, proofs of
program correctness, program structure, recursion, abstract data
types, object- oriented programming, data structures, and analysis of
algorithms.  Java and Gofer are the principal programming languages.


<DT><H2><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS212/CS212.html">
        CS212 Structure and Interpretation of Computer Programs</A></H2>
<DD>
An introduction to programming languages and computer science.  Topics covered
include functional programming (including recursive and higher-order
functions), object-oriented programming, analysis and understanding of
algorithms, and correctness of programs.  Several substantial sized
programming projects are done using Dylan, a dynamic object-oriented
programming language.  The aim of the course is to expose students to a wide
range of interesting and challenging concepts in computing, using programming
as a tool.


<DT><H2><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS280/CS280.html">
        CS280 Discrete Structures</A></H2>
<DD>
Covers mathematical aspects of programming and computing.  Topics will be
chosen from the following:  mathematical induction; logical proof;
propositional and predicate calculus; combinatorics and discrete
mathematics covering manipulation of sums, recurrence relations, and 
generating-function techniques; basic number theory; sets, functions, and
relations; partially ordered sets; graphs.

<DT><H2><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><IMG align=left vspace=0 hspace=5 SRC="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS314/CS314_icon.gif">
	<!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS314/">CS314 Introduction to Digital Systems and
		Computer Organization</a></H2>
<DD>
	Web course material includes course info, lecture notes, homeworks, 
	project info, and hopefully even lecture videos.
	<br>
	Topics covered in the course include: representation of
	information; machine/assembly languages, in particular PowerPC;
	processor organization; interrupts and I/O; memory hierarchies;
	combinatorial and sequential circuits; data path and control
	unit design; RTL; and microprogramming.
	<br clear=left>

<DT><H2><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS401/home.html">
        CS401 Programming Languages and Software Engineering</A></H2>
<DD>

An introduction to the programming languages, tools, and methods used
in modern software development. Programming methodologies: modularity,
data abstraction, object-oriented programming. Programming tools,
software libraries, and interface definition languages. General
techniques will be complemented with programming experience.

<DT><H2><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS410/home.html">
        CS410 Data Structures</A></H2>
<DD>
Lists, trees, graphs, arrays, and other forms of data structure and
their implementation. Relationship between language and data
structure, emphasizing abstract data types. Dynamic storage allocation
and memory management. Detailed study of searching and sorting
methods. Analysis to determine the more efficient algorithm in a given
situation.

<DT><H2><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS415/CS414.html">
        CS414 Systems Programming and Operating Systems</A></H2>
<DD>
An introduction to the logical design of systems programs, with
emphasis on multiprogrammed operating systems. Topics include
process synchronization, deadlock, memory management, input-output
methods, information sharing, protection and security, and file
systems. The impact of network and distributed computing  
environments on operating systems is also discussed. This is a
fast-paced subject requiring constant attention. 

<DT><H2><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS472/cs472.html">
        CS472 Foundations of Artificial Intelligence</A></H2>
<DD>
A challenging introduction to the major subareas and current research
directions in artificial intelligence. Topics
include knowledge representation, search, problem solving,
natural-language processing, vision, robotics, logic and
deduction, planning, and machine learning. 


<DT><H2><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><IMG align=left SRC="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS481/greenguy.gif">
        <!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS481/CS481.html">
        CS481 Automata and Computability Theory</a></H2>
<DD>
        An introduction to the modern theory of computing: automata theory,
        formal languages, and effective computability.  A faster-moving
        and deeper version of CS381.  Credit will not be given for both.
        Corrective transfers between CS381 and CS481 are encouraged during
        the first few weeks of instruction.

<DT><H2><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS537/course.html">
        CS537 Advanced Database Systems</A></H2>
<DD>
CS 537 (Advanced Database Systems) is intended to give students a solid 
background in the design and development of database management systems 
(DBMS's). While a DBMS is in one sense a giant application program, there 
are surprisingly many principles behind its development and use. The 
database research community is also active, and there are always new 
problems to be addressed because of the explosive amounts of data that 
people wish to access. This course forms essential background for anyone 
who wants to (a) become a systems engineer at a database development company, 
or (b) become an informed user of database systems, or (c) become a database 
systems researcher, or (d) develop systems in any domain that manipulate 
large amounts of data, or (e) find out how a teller machine really works!
A number of "advanced fundamental" DBMS concepts will be covered. 
Although this is not intended to be an introductory course, the discussion 
of various topics will begin with a quick review of basic material.
In terms of workload, the course involves two exams, a small survey 
paper, and a C++ programming project. 
<p>
See http://www.cs.cornell.edu/Info/People/praveen for more details.

<DT><H2><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS611/home.html">
        CS611 Advanced Programming Languages</A></H2>
<DD>
A study of programming paradigms: functional, imperative, concurrent
and logic programming. Models of programming languages, including the
lambda calculus. Type systems, polymorphism, modules, and other
object-oriented constructs.  Program transformations, programming
logic, and applications to programming methodology.

<DT><H2><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS631/home.html">
        CS631 Multimedia Systems</A></H2>
<DD>
Hardware and software issues involved in computer manipulation of
audio, video, and images. Topics include media capture,
representation, compression, editing, processing, storage, and
transportation. Special emphasis on the processing of digital video,
including algorithms for special effects and automatic extraction of
content, and applications of parallel architectures to video
processing.

<DT><H2><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><IMG SRC="http://www.cs.cornell.edu/Icons/greenball.gif">
        <!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-96/CS681/CS681.html">
        CS681 Analysis of Algorithms</A></H2>
<DD>
Methodology for developing efficient algorithms, primarily for graph
theoretic problems.  Understanding of the inherent complexity of natural
problems via polynomial-time algorithms, randomized algorithms, 
NP-completeness, randomized reducibilities.  Additional topics such as
parallel algorithms and efficient data structures.


</DL> 

<H3>Information from previous semesters</H3>
Information from previous semesters may be retained for a while, but don't be surprised if certain links don't work.

<DL>
<DT><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><!WA30><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-94/courses.html">Fall 1994</A>
<DT><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><!WA31><A HREF="http://www.cs.cornell.edu/Info/Courses/Spring-95/courses.html">Spring 1995</A>
<DT><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><!WA32><A HREF="http://www.cs.cornell.edu/Info/Courses/Summer-95/courses.html">Summer 1995</A>
<DT><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><!WA33><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-95/courses.html">Fall 1995</A>
<DT><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><!WA34><A HREF="http://www.cs.cornell.edu/Info/Courses/Spring-96/courses.html">Spring 1996</A>
<DT><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><!WA35><A HREF="http://www.cs.cornell.edu/Info/Courses/Summer-96/courses.html">Summer 1996</A>
</DL>
</BODY>
</HTML>
